using System.Collections.Generic;
using OpenWaves.Navigation.Controls;

namespace OpenWaves.Navigation.Showcase
{
    public class DummyNavigationViewModel : INavigationViewModel<NavigationNode>
    {
        public const string NodeQueryString = "node";

        private static readonly MegaMenuNode Root = new MegaMenuNode("1", "Root",
                                                                                   new MegaMenuNode("1-1", "Some dummy node", 
                                                                                                           new MegaMenuNode("1-1-1", "Dummy node first child",
                                                                                                                                   new MegaMenuNode("1-1-1-1", "Great demo"),
                                                                                                                                   new MegaMenuNode("1-1-1-2", "Fantastic demo")), 
                                                                                                           new MegaMenuNode("1-1-2", "Dummy node second child",
                                                                                                                                   new MegaMenuNode("1-1-2-1", "First level node"),
                                                                                                                                   new MegaMenuNode("1-1-2-2", "Last level node"))), 
                                                                                   new MegaMenuNode("1-2", "Another dummy node",
                                                                                                           new MegaMenuNode("1-2-1", "Another dummy node first child",
                                                                                                                                   new MegaMenuNode("1-2-1-1", "Elo melo"),
                                                                                                                                   new MegaMenuNode("1-2-1-2", "Elo melo2")), 
                                                                                                           new MegaMenuNode("1-2-2", "Another dummy node second child",
                                                                                                                                   new MegaMenuNode("1-2-2-1", "Hello world"),
                                                                                                                                   new MegaMenuNode("1-2-2-2", "Hello"))));

        public IEnumerable<NavigationNode> RootNodes
        {
            get { return DummyNavigationViewModel.Root.Children; }
        }

        public NavigationNodeState GetNodeState(NavigationNode node)
        {
            return NavigationNodeState.Normal;            
        }

        public bool IsNodeVisible(NavigationNode node)
        {
            return true;
        }
    }
}